package module.library.speech;

import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;

/**
 * Json结果解析类
 */
public class JsonParser {
    /**
     * 语音输入转文字识别
     *
     * @param json recognizerResult.getResultString()
     * @return 识别文字
     */
    public static String parseIatResult(String json) {
        StringBuilder stringBuffer = new StringBuilder();
        try {
            JSONObject jsonObject = new JSONObject(new JSONTokener(json));
            JSONArray words = jsonObject.getJSONArray("ws");
            if (null != words) {
                for (int i = 0; i < words.length(); i++) {
                    // 转写结果词，默认使用第一个结果
                    JSONArray items = words.getJSONObject(i).getJSONArray("cw");
                    JSONObject obj = items.getJSONObject(0);
                    stringBuffer.append(obj.getString("w"));
                    // 如果需要多候选结果，解析数组其他字段
//                    for (int j = 0; j < items.length(); j++) {
//                        JSONObject obj = items.getJSONObject(j);
//                        stringBuffer.append(obj.getString("w"));
//                    }
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return stringBuffer.toString();
    }
}
